package com.authsphere.security.account.api.bind;


import com.authsphere.security.account.api.bind.user.ExternalUser;

import java.util.concurrent.TimeUnit;

/**
 * @program: AuthSphere
 * @description:
 * @author: YuKai Fan
 * @create: 2025/3/20 21:57
 **/
public class TempBindToken {

    private String tokenValue;

    private ExternalUser externalUser;

    private Integer expireTime;

    private TimeUnit timeUnit;

    public TempBindToken(String tokenValue, ExternalUser externalUser, Integer expireTime) {
        this(tokenValue, externalUser, expireTime, TimeUnit.SECONDS);
    }

    public TempBindToken(String tokenValue, ExternalUser externalUser, Integer expireTime, TimeUnit timeUnit) {
        this.tokenValue = tokenValue;
        this.externalUser = externalUser;
        this.expireTime = expireTime;
        this.timeUnit = timeUnit;
    }

    public TempBindToken() {
    }

    public String getTokenValue() {
        return tokenValue;
    }

    public void setTokenValue(String tokenValue) {
        this.tokenValue = tokenValue;
    }

    public ExternalUser getExternalUser() {
        return externalUser;
    }

    public void setExternalUser(ExternalUser externalUser) {
        this.externalUser = externalUser;
    }

    public Integer getExpireTime() {
        return expireTime;
    }

    public void setExpireTime(Integer expireTime) {
        this.expireTime = expireTime;
    }

    public TimeUnit getTimeUnit() {
        return timeUnit;
    }

    public void setTimeUnit(TimeUnit timeUnit) {
        this.timeUnit = timeUnit;
    }
}
